<script setup name="Child" lang="ts">
/* defineProps({
  money: {
    // 这儿 Vue 规定的要大写
    type: Number,
    default: 10,
  },
  car: {
    type: String,
    default: '三轮',
  },
}) */
// 泛型函数
/* defineProps<{
  // 这个 number 首字母小写
  money: number
  car: string
}>() */

// 可以抽离一层 interface
/* interface IProps {
  // 这个 number 首字母小写
  money: number
  car?: string
} */
/* type IProps = {
  money: number
  car?: string
} */

interface IProps {
  // 这个 number 首字母小写
  money: number
  car?: string
}
// 可以通过下面方式指定默认值
// 下面写法还是试验性的用法
const { car = '三轮车' } = defineProps<IProps>()
</script>
<template>
  <div>
    <p>money: {{ money }}</p>
    <p>car: {{ car }}</p>
  </div>
</template>
